Certain systems control a number of external devices. For example, when conducting a video conference, a video conference system may control one or more media devices, such as a video camera, a microphone, and a video encoder. Each device typically includes one or more functions or features that are controlled by the system. For example, a collaboration system may control a zoom function, a pan function, and rotate function of the video camera.
Due to one or more reasons, an external device may be added, removed, or replaced in the system. Exemplary reasons include device obsolescence, superior device introduction, changing regularity requirements, cost reduction choices, and device firmware updates.
Updating a system to account for the addition, removal, and/or replacement of one or more devices may involve significant investment, such as monetary cost, additional personnel hiring, time to rework the system, and time to test the reworked system. For example, updating a system that controls external devices through software modules may involve determining the affected software modules, reprogramming the software modules, testing the software modules, documenting the reprogramming and the testing phases, and deploying the updated software modules.
For these and other reasons, there is a need for the present invention.